Development of Correct Transformation Schemata for Prolog Programs 1 Schema-based Transformations
نویسندگان
چکیده
Schema-based program transformation 5] has been proposed as an eeective technique for the optimisation of logic programs. Schemata are applied to a logic program, mapping ineecient constructs to more eecient ones. One challenging aspect of the technique is that of proving that the schemata are correct. This paper describes work in progress addressing the issue of correctness. We deene operations for developing correct schemata by construction. The schema development operations are higher order equivalents of the classic program transformations of fold/unfold 2]. We consider a transformation schema to be correct if its application yields a target program which is equivalent to the source program under the pure Prolog semantics. The work described in this paper makes three contributions: a methodology for the development of provably correct program transformation schemata, abstraction of program transformation operations to transformation operations on schemata, and a higher-order uniication algorithm which forms the basis of the schema transformation operations. A program transformation technique based on transformation schemata is described in 5]. Transformation schemata are deened using patterns | higher-order terms which can be instantiated to program fragments. A transformation schema is applied to a program by scanning the program for a piece of code which matches the source pattern, and replacing it with the instantiated target pattern. A program transformation schema is deened in 5] as a 4-tuple, which spe-ciies that a conjunction of goals G 1 (1) Such schemata can encode a wide range of useful transformations, e.g. loop fusion, accumulator introduction and goal reordering. This paper reports work in progress addressing the issue of proving the cor-rectness of transformation schemata. There are two basic design decisions we must make when considering the correctness of program transformation schemata: 1. Do we seek to prove the correctness of existing schemata, or do we instead only provide tools for constructing new schemata which are guaranteed to be correct? We have decided to take the latter approach.
منابع مشابه
Development of Correct Transformation Schemata for Prolog Programs
Schema-based program transformation [8] has been proposed as an effective technique for the optimisation of logic programs. Schemata are applied to a logic program, mapping inefficient constructs to more efficient ones. One challenging aspect of the technique is that of proving that the schemata are correct. This paper addresses the issue of correctness. We define operations for developing corr...
متن کاملExtensible Logic Program Schemata
Schema-based transformational systems maintain a library of logic program schemata which capture large classes of logic programs. One of the shortcomings of schema-based transformation approaches is their reliance on a large (possibly incomplete) set of logic program schemata that is required in order to capture all of the minor syntactic differences between semantically similar logic programs....
متن کاملTransformational Development of Logic Programs from Executable Specifications
In our method – that we call Visual and Textual Composition of Logic Programs – we have enhanced the schema-based construction of logic programs in two ways intended to bridge the conceptual gap between application domains and the programming domain. First, we define visual and textual views of programs that can be used to construct programs in application-specific concepts, and which can be un...
متن کاملProlog Program Development via Enhanced Schema-based Transformations
We describe state-of-the-practice results in integrating a program transformation approach to a program development environment. We propose a formalisation for a speciic kind of programming knowledge, the programming techniques. Our proposal employs program schemata, generic descriptions of programs addressing portions of predicate deenitions in an economical manner, allowing important features...
متن کاملPosition Statement: Efficient development of data migration transformations
Data migration and integration projects typically involve two phases. The first phase aims at establishing the schema and data mappings required for transforming schema and data. The second phase consists of developing and executing the corresponding schema and data transformations. Several tools have been designed to assist the discovery of appropriate schema mappings [RB01], while data unders...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1997